/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * CadDescricaoProduto.java
 *
 * Created on 13/09/2011, 23:50:36
 */
package visao;

/**
 *
 * @author PauloM
 */
import controleFalta.ControleFalta;
import descricaoProduto.DescricaoProduto;
import descricaoProduto.DescricaoProdutoJaCadastradoExeption;
import descricaoProduto.DescricaoProdutoNaoCadastradoException;
import fachada.FachadaBDR;
import java.awt.Color;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import subCategoria.SubCategoria;
import subCategoria.SubCategoriaNaoCadastradoException;
import unidadeMedida.UnidadeMedida;
import unidadeMedida.UnidadeMedidaNaoCadastradoException;
import util.CamposObrigatoriosException;
import util.ErroAcessoRepositorioException;
import util.KeyValue;

public class CadDescricaoProduto extends javax.swing.JFrame {

    /** Creates new form CadDescricaoProduto */
    public CadDescricaoProduto() {

        initComponents();
        this.setIconImage(new ImageIcon(getClass().getResource("/Imagens/DescricaoProduto.gif")).getImage());
        this.setLocationRelativeTo(null);

        jTextField_QuantidadeAtual.setEnabled(false);
    }

    /** Creates new form CadDescricaoProduto */
    public CadDescricaoProduto(int IdDecsricaoProduto) {

        initComponents();
        this.setIconImage(new ImageIcon(getClass().getResource("/Imagens/DescricaoProduto.gif")).getImage());
        this.setLocationRelativeTo(null);
        


        try {
            FachadaBDR objFachadaBDR = FachadaBDR.getInstancia();
            // obtendo os Objetos da base
            DescricaoProduto objDescricaoProduto = objFachadaBDR.procurarDescricaoProduto(IdDecsricaoProduto);
            UnidadeMedida objUnidadeMedida = objFachadaBDR.procurarUnidadeMedida(objDescricaoProduto.getIdUnidadeMedida());

            // Obtendo os objetos associados
            SubCategoria objSubCategoria = objDescricaoProduto.getobjSubCategoria();
            ControleFalta objControleFalata = objDescricaoProduto.getControleFalta();
            // Setando a subCategoria
            jComboBox_IdSubCategoria.setSelectedItem(new KeyValue(objSubCategoria.getNome(), Integer.toString(objSubCategoria.getIdSubCategoria())));
            id_descricao_produto.setText(String.valueOf(objDescricaoProduto.getIdDescricaoProduto()));
            id_controleFalta.setText(String.valueOf(objControleFalata.getIdControleFalta()));
            jTextField_QuantidadeMaxima.setText(String.valueOf(objControleFalata.getQuantidadeMaxima()));
            jTextField_QuantidadeMinima.setText(String.valueOf(objControleFalata.getQuantidadeMinima()));
            jTextField_QuantidadeAtual.setText(String.valueOf(objControleFalata.getQuantidadeAtual()));;
            jCheckBox_Repor.setSelected(objControleFalata.getRepor());
            jComboBox_IdUnidadeMedida.setSelectedItem(new KeyValue(objUnidadeMedida.getDescricaoUnidade(), Integer.toString(objUnidadeMedida.getIdUnidadeMedida())));
            jCheckBox_StatusProduto1.setSelected(objDescricaoProduto.getStatusDrescicaoProduto());
            jTextField_DescricaoProduto.setText(objDescricaoProduto.getDecsricaoProduto());
            jTextField_TipoProduto.setText(objDescricaoProduto.getTipoProduto());

        } catch (CamposObrigatoriosException ex) {

            jLabel_Menssagem.setText(ex.getMessage());
            jLabel_Menssagem.setForeground(Color.red);

        } catch (UnidadeMedidaNaoCadastradoException ex) {

            jLabel_Menssagem.setText(ex.getMessage());
            jLabel_Menssagem.setForeground(Color.red);
        } catch (DescricaoProdutoNaoCadastradoException ex) {

            jLabel_Menssagem.setText(ex.getMessage());
            jLabel_Menssagem.setForeground(Color.red);

        } catch (ErroAcessoRepositorioException ex) {

            jLabel_Menssagem.setText(ex.getMessage());
            jLabel_Menssagem.setForeground(Color.red);
        }
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel_Menssagem = new javax.swing.JLabel();
        jSeparator1 = new javax.swing.JSeparator();
        jPanel1 = new javax.swing.JPanel();
        jLabel_QuantidadeMinima = new javax.swing.JLabel();
        jTextField_QuantidadeMinima = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        jTextField_QuantidadeMaxima = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jTextField_QuantidadeAtual = new javax.swing.JTextField();
        jCheckBox_Repor = new javax.swing.JCheckBox();
        jButton_Cancelar = new javax.swing.JButton();
        jButton_Ok = new javax.swing.JButton();
        id_controleFalta = new javax.swing.JTextField();
        jPanel2 = new javax.swing.JPanel();
        jLabel_Codigo = new javax.swing.JLabel();
        jCheckBox_StatusProduto1 = new javax.swing.JCheckBox();
        jLabel_Subcategoria = new javax.swing.JLabel();
        jComboBox_IdSubCategoria = new javax.swing.JComboBox();
        jLabel_DescricaoProduto = new javax.swing.JLabel();
        jTextField_DescricaoProduto = new javax.swing.JTextField();
        jLabel_UnidadeMedida = new javax.swing.JLabel();
        jComboBox_IdUnidadeMedida = new javax.swing.JComboBox();
        jComboBox_IdUnidadeMedida = new javax.swing.JComboBox();
        jLabel_TipoProduto = new javax.swing.JLabel();
        jTextField_TipoProduto = new javax.swing.JTextField();
        id_descricao_produto = new javax.swing.JTextField();

        setTitle("Descrição Produto");
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        setResizable(false);

        jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        jLabel_QuantidadeMinima.setText("Quantidade Minima");

        jTextField_QuantidadeMinima.setText("0");
        jTextField_QuantidadeMinima.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextField_QuantidadeMinimaActionPerformed(evt);
            }
        });

        jLabel2.setText("Quantidade Maxima");

        jTextField_QuantidadeMaxima.setText("0");

        jLabel3.setText("Quantidade Atual");

        jTextField_QuantidadeAtual.setText("0");

        jCheckBox_Repor.setSelected(true);
        jCheckBox_Repor.setText("Repor");
        jCheckBox_Repor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBox_ReporActionPerformed(evt);
            }
        });

        jButton_Cancelar.setText("Cancelar");
        jButton_Cancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton_CancelarActionPerformed(evt);
            }
        });

        jButton_Ok.setText("Ok");
        jButton_Ok.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton_OkActionPerformed(evt);
            }
        });

        id_controleFalta.setEnabled(false);
        id_controleFalta.setVisible(false);
        id_controleFalta.setText("0");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel_QuantidadeMinima)
                        .addComponent(jLabel2))
                    .addComponent(jLabel3))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jTextField_QuantidadeMinima, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextField_QuantidadeMaxima, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextField_QuantidadeAtual, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton_Ok, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jButton_Cancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(17, 17, 17))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(61, 61, 61)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(id_controleFalta, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jCheckBox_Repor, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addContainerGap(211, Short.MAX_VALUE))))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(jLabel_QuantidadeMinima)
                        .addGap(16, 16, 16)
                        .addComponent(jLabel2)
                        .addGap(16, 16, 16)
                        .addComponent(jLabel3))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jTextField_QuantidadeMinima, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jCheckBox_Repor))
                        .addGap(10, 10, 10)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jTextField_QuantidadeMaxima, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(id_controleFalta, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(10, 10, 10)
                        .addComponent(jTextField_QuantidadeAtual, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(30, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(90, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton_Ok)
                    .addComponent(jButton_Cancelar))
                .addContainerGap())
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        jLabel_Codigo.setText("    Codigo :");

        jCheckBox_StatusProduto1.setSelected(true);
        jCheckBox_StatusProduto1.setText("Ativo");
        jCheckBox_StatusProduto1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCheckBox_StatusProduto1ActionPerformed(evt);
            }
        });

        jLabel_Subcategoria.setText("  SubCategoria :");

        try {
            FachadaBDR objFachadaBDR = FachadaBDR.getInstancia();

            List<SubCategoria> listSubCategoria = objFachadaBDR.listarSubCategoria("");

            jComboBox_IdSubCategoria.addItem(new KeyValue("--- Favor Selecionar ---","0"));
            for (SubCategoria objSubCat : listSubCategoria) {
                jComboBox_IdSubCategoria.addItem(new KeyValue(objSubCat.getNome(), Integer.toString(objSubCat.getIdSubCategoria())));
            }

        } catch (Exception e) {
        }
        jComboBox_IdSubCategoria.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBox_IdSubCategoriaActionPerformed(evt);
            }
        });

        jLabel_DescricaoProduto.setText("  Descrição :");

        jTextField_DescricaoProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextField_DescricaoProdutoActionPerformed(evt);
            }
        });

        jLabel_UnidadeMedida.setText("Unidade de Medida :");

        try {
            FachadaBDR objFachadaBDR = FachadaBDR.getInstancia();

            List<UnidadeMedida> listUnidadeMedida = objFachadaBDR.listarUnidadeMedida("");

            jComboBox_IdUnidadeMedida.addItem(new KeyValue("--- Favor Selecionar ---","0"));
            for (UnidadeMedida objUniMed : listUnidadeMedida) {
                jComboBox_IdUnidadeMedida.addItem(new KeyValue(objUniMed.getDescricaoUnidade(), Integer.toString(objUniMed.getIdUnidadeMedida())));
            }

        } catch (Exception e) {
        }
        jComboBox_IdUnidadeMedida.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jComboBox_IdUnidadeMedidaActionPerformed(evt);
            }
        });

        jLabel_TipoProduto.setText("Tipo de Produto :");

        jTextField_TipoProduto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTextField_TipoProdutoActionPerformed(evt);
            }
        });

        id_descricao_produto.setText("0");
        id_descricao_produto.setEnabled(false);
        id_descricao_produto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                id_descricao_produtoActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap(10, Short.MAX_VALUE)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel_TipoProduto, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel_UnidadeMedida, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel_DescricaoProduto, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel_Subcategoria, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel_Codigo, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jComboBox_IdSubCategoria, 0, 353, Short.MAX_VALUE)
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addComponent(id_descricao_produto, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 235, Short.MAX_VALUE)
                        .addComponent(jCheckBox_StatusProduto1, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jTextField_DescricaoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 353, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jTextField_TipoProduto, javax.swing.GroupLayout.DEFAULT_SIZE, 353, Short.MAX_VALUE)
                    .addComponent(jComboBox_IdUnidadeMedida, javax.swing.GroupLayout.Alignment.TRAILING, 0, 353, Short.MAX_VALUE))
                .addGap(43, 43, 43))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel_Codigo)
                    .addComponent(id_descricao_produto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jCheckBox_StatusProduto1))
                .addGap(21, 21, 21)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jComboBox_IdSubCategoria, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel_Subcategoria))
                .addGap(13, 13, 13)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField_DescricaoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel_DescricaoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel_UnidadeMedida)
                    .addComponent(jComboBox_IdUnidadeMedida, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextField_TipoProduto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel_TipoProduto))
                .addContainerGap(37, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(121, 121, 121)
                        .addComponent(jLabel_Menssagem, javax.swing.GroupLayout.PREFERRED_SIZE, 294, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(40, 40, 40)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabel_Menssagem, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jComboBox_IdSubCategoriaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox_IdSubCategoriaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jComboBox_IdSubCategoriaActionPerformed

    private void jTextField_DescricaoProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField_DescricaoProdutoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextField_DescricaoProdutoActionPerformed

    private void jComboBox_IdUnidadeMedidaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox_IdUnidadeMedidaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jComboBox_IdUnidadeMedidaActionPerformed

    private void jCheckBox_ReporActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox_ReporActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jCheckBox_ReporActionPerformed

    private void jTextField_TipoProdutoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField_TipoProdutoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextField_TipoProdutoActionPerformed

    private void jButton_OkActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_OkActionPerformed
        // TODO add your handling code here:
        int idControleFalta = Integer.parseInt(id_controleFalta.getText());
        int QuantidadeMaxima = Integer.parseInt(jTextField_QuantidadeMaxima.getText());
        int QuantidadeMinima = Integer.parseInt(jTextField_QuantidadeMinima.getText());
        int QuantidadeAtual = Integer.parseInt(jTextField_QuantidadeAtual.getText());
        Boolean repor = jCheckBox_Repor.isSelected();
        int idCadDescricaoProduto = Integer.parseInt(id_descricao_produto.getText());
        int idSubCategoria = Integer.parseInt(((KeyValue) jComboBox_IdSubCategoria.getSelectedItem()).getValue());
        int idUnidadeMedida = Integer.parseInt(((KeyValue) jComboBox_IdUnidadeMedida.getSelectedItem()).getValue());
        Boolean statusDrescicaoProduto = jCheckBox_StatusProduto1.isSelected();
        String descricaoproduto = jTextField_DescricaoProduto.getText();
        String tipoproduto = jTextField_TipoProduto.getText();

        try {
            FachadaBDR objFachadaBDR = FachadaBDR.getInstancia();

            SubCategoria objSubCategoria = objFachadaBDR.procurarSubCategoria(idSubCategoria);

            ControleFalta objControleFalta = new ControleFalta(idControleFalta, repor, QuantidadeMaxima, QuantidadeMinima, QuantidadeAtual, null);

            DescricaoProduto objDescricaoProduto = new DescricaoProduto(idCadDescricaoProduto, objControleFalta, objSubCategoria, descricaoproduto, tipoproduto, statusDrescicaoProduto, idUnidadeMedida);

            // Se o Id descrição produto não for informao cadastro
            if (idControleFalta == 0) {
                objFachadaBDR.cadastrarDescricaoProduto(objDescricaoProduto);
            } else // se não atualizo na base
            {
                objFachadaBDR.atualizarDescricaoProduto(objDescricaoProduto);
            }

            String acao = (idControleFalta == 0) ? "Cadastrada" : "Atualizada";
            jLabel_Menssagem.setText("Produto " + acao + " Com Sucesso!!!");
            jLabel_Menssagem.setForeground(Color.BLACK);
            if (idControleFalta == 0) {
                jTextField_QuantidadeMaxima.setText("0");
                jTextField_QuantidadeMinima.setText("0");
                jTextField_QuantidadeAtual.setText("0");
                jCheckBox_Repor.setSelected(false);
                jCheckBox_StatusProduto1.setSelected(false);
                jTextField_DescricaoProduto.setText("");
                jTextField_TipoProduto.setText("");
                jComboBox_IdSubCategoria.setSelectedIndex(0);
                jComboBox_IdUnidadeMedida.setSelectedIndex(0);
            }
            //idUnidadeMedida = Integer.parseInt(((KeyValue) jComboBox_IdUnidadeMedida.getSelectedItem()).getValue());
        } catch (Exception ex) {
            Logger.getLogger(CadDescricaoProduto.class.getName()).log(Level.SEVERE, null, ex);
            jLabel_Menssagem.setText(ex.getMessage());
            jLabel_Menssagem.setForeground(Color.red);
        }

    }//GEN-LAST:event_jButton_OkActionPerformed

    private void jTextField_QuantidadeMinimaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField_QuantidadeMinimaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jTextField_QuantidadeMinimaActionPerformed

    private void jCheckBox_StatusProduto1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBox_StatusProduto1ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jCheckBox_StatusProduto1ActionPerformed

    private void jButton_CancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_CancelarActionPerformed
        // TODO add your handling code here:

        int cancelar = JOptionPane.showConfirmDialog(null, "Deseja cancelar ?");

        if (cancelar == JOptionPane.YES_OPTION) {

            dispose();

        } else {
        }


    }//GEN-LAST:event_jButton_CancelarActionPerformed

    private void id_descricao_produtoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_id_descricao_produtoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_id_descricao_produtoActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new CadDescricaoProduto().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextField id_controleFalta;
    private javax.swing.JTextField id_descricao_produto;
    private javax.swing.JButton jButton_Cancelar;
    private javax.swing.JButton jButton_Ok;
    private javax.swing.JCheckBox jCheckBox_Repor;
    private javax.swing.JCheckBox jCheckBox_StatusProduto1;
    private javax.swing.JComboBox jComboBox_IdSubCategoria;
    private javax.swing.JComboBox jComboBox_IdUnidadeMedida;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel_Codigo;
    private javax.swing.JLabel jLabel_DescricaoProduto;
    private javax.swing.JLabel jLabel_Menssagem;
    private javax.swing.JLabel jLabel_QuantidadeMinima;
    private javax.swing.JLabel jLabel_Subcategoria;
    private javax.swing.JLabel jLabel_TipoProduto;
    private javax.swing.JLabel jLabel_UnidadeMedida;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JTextField jTextField_DescricaoProduto;
    private javax.swing.JTextField jTextField_QuantidadeAtual;
    private javax.swing.JTextField jTextField_QuantidadeMaxima;
    private javax.swing.JTextField jTextField_QuantidadeMinima;
    private javax.swing.JTextField jTextField_TipoProduto;
    // End of variables declaration//GEN-END:variables
}
